cmake_minimum_required(VERSION 3.0)
project(test2)
#CMAKE_CURRENT_SOURCE_DIR指的是CMakeLists.txt所在的目录，是一个标准宏。定义好的
#定义了一个变量叫OUT_PATH
set(OUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/build/)
#EXECUTABLE_OUTPUT_PATH是一个标准宏。定义好的，指定可执行文件的输出路径
#这将会使可执行文件输出在./build/bin下面
set(EXECUTABLE_OUTPUT_PATH ${OUT_PATH}/bin)
#定义一个变量叫SRC_LIST，值是后面的原文件名字
set(SRC_LIST main.cpp add.cpp div.cpp sub.cpp mult.cpp)
#想要使用变量必须使用${VAR}的方式
add_executable(app ${SRC_LIST})




#[[
本篇主要讲述set定义变量的用法
# SET 指令的语法是：
# [] 中的参数为可选项, 如不需要可以不写
SET(VAR [VALUE] [CACHE TYPE DOCSTRING FORCE])
VAR：变量名
VALUE：变量值

]]


#[[
常用宏：CMAKE_CXX_STANDARD
在编写C++程序的时候
可能会用到C++11、C++14、C++17、C++20等新特性
那么就需要在编译的时候在编译命令中制定出要使用哪个标准：
如：g++ *.cpp -std=c++11 -o app
上面的例子中通过参数-std=c++11指定出要使用c++11标准编译程序
C++标准对应有一宏叫做DCMAKE_CXX_STANDARD。
在CMake中想要指定C++标准有两种方式：
1：#增加-std=c++11
set(CMAKE_CXX_STANDARD 11)
2：#增加-std=c++11
cmake CMakeLists.txt文件路径 -DCMAKE_CXX_STANDARD=11

]]

#[[
常用宏：EXECUTABLE_OUTPUT_PATH
指定可执行程序输出的路径

]]